--Hot take --The script is open source --U can update if U want to local Players = game:GetService("Players") local RunService = game:GetService("RunService") local TweenService = game:GetService("TweenService") local LocalPlayer = Players.LocalPlayer if game:GetService("CoreGui"):FindFirstChild("NaoyaGui") then game:GetService("CoreGui").NaoyaGui:Destroy() end if LocalPlayer.Character then if LocalPlayer.Character:FindFirstChild("NaoyaTheme") then LocalPlayer.Character.NaoyaTheme:Destroy() end if LocalPlayer.Character:FindFirstChild("NaoyaTrailAttachment1") then LocalPlayer.Character.NaoyaTrailAttachment1:Destroy() end if LocalPlayer.Character:FindFirstChild("NaoyaTrailAttachment2") then LocalPlayer.Character.NaoyaTrailAttachment2:Destroy() end if LocalPlayer.Character:FindFirstChild("NaoyaSpeedTrail") then LocalPlayer.Character.NaoyaSpeedTrail:Destroy() end end local isActive = false local isLockedOut = false local currentMultiplier = 1.0 local stamina = 100 local maxStamina = 100 local speedTimer = 0 local cloneTimer = 0 local speedHighlight = nil local audioTrack = nil local movementTrail = nil local att1, att2 = nil, nil local NaoyaGui = Instance.new("ScreenGui") local MainFrame = Instance.new("Frame") local UIStroke = Instance.new("UIStroke") local Title = Instance.new("TextLabel") local ToggleButton = Instance.new("TextButton") local StaminaBackground = Instance.new("Frame") local StaminaBar = Instance.new("Frame") local UIGradient = Instance.new("UIGradient") local SpeedDisplay = Instance.new("TextLabel") NaoyaGui.Name = "NaoyaGui" NaoyaGui.Parent = game:GetService("CoreGui") NaoyaGui.ResetOnSpawn = false MainFrame.Name = "MainFrame" MainFrame.Parent = NaoyaGui MainFrame.BackgroundColor3 = Color3.fromRGB(8, 8, 10) MainFrame.Position = UDim2.new(0.05, 0, 0.4, 0) MainFrame.Size = UDim2.new(0, 250, 0, 150) MainFrame.Active = true MainFrame.Draggable = true UIStroke.Color = Color3.fromRGB(0, 140, 255) UIStroke.Thickness = 2 UIStroke.Parent = MainFrame Title.Name = "Title" Title.Parent = MainFrame Title.BackgroundTransparency = 1 Title.Position = UDim2.new(0, 0, 0, 10) Title.Size = UDim2.new(1, 0, 0, 25) Title.Font = Enum.Font.RobotoMono Title.Text = "Projection Sorcery" -- REQUESTED TEXT Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.TextSize = 15 ToggleButton.Name = "ToggleButton" ToggleButton.Parent = MainFrame ToggleButton.BackgroundColor3 = Color3.fromRGB(15, 15, 18) ToggleButton.BorderSizePixel = 1 ToggleButton.BorderColor3 = Color3.fromRGB(255, 50, 50) ToggleButton.Position = UDim2.new(0.08, 0, 0.32, 0) ToggleButton.Size = UDim2.new(0.84, 0, 0, 34) ToggleButton.Font = Enum.Font.SourceSansBold ToggleButton.Text = "Off" ToggleButton.TextColor3 = Color3.fromRGB(255, 75, 75) ToggleButton.TextSize = 16 StaminaBackground.Name = "StaminaBackground" StaminaBackground.Parent = MainFrame StaminaBackground.BackgroundColor3 = Color3.fromRGB(20, 20, 24) StaminaBackground.BorderSizePixel = 1 StaminaBackground.BorderColor3 = Color3.fromRGB(35, 35, 40) StaminaBackground.Position = UDim2.new(0.08, 0, 0.64, 0) StaminaBackground.Size = UDim2.new(0.84, 0, 0, 10) StaminaBar.Name = "StaminaBar" StaminaBar.Parent = StaminaBackground StaminaBar.BackgroundColor3 = Color3.fromRGB(255, 255, 255) StaminaBar.BorderSizePixel = 0 StaminaBar.Size = UDim2.new(1, 0, 1, 0) UIGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(0, 100, 255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(0, 220, 255)) } UIGradient.Parent = StaminaBar SpeedDisplay.Name = "SpeedDisplay" SpeedDisplay.Parent = MainFrame SpeedDisplay.BackgroundTransparency = 1 SpeedDisplay.Position = UDim2.new(0, 0, 0.78, 0) SpeedDisplay.Size = UDim2.new(1, 0, 0, 20) SpeedDisplay.Font = Enum.Font.SourceSans SpeedDisplay.Text = "VELOCITY BOOSTER: 0.0" SpeedDisplay.TextColor3 = Color3.fromRGB(160, 160, 160) SpeedDisplay.TextSize = 12 local function createProjectionClone(char) if not char or not char:FindFirstChild("HumanoidRootPart") then return end local cloneModel = Instance.new("Model") cloneModel.Name = "NaoyaSorceryAfterimage" cloneModel.Parent = workspace local rootOrigin = char.HumanoidRootPart.CFrame for _, item in pairs(char:GetChildren()) do if item:IsA("BasePart") and item.Name ~= "HumanoidRootPart" then local partCopy = item:Clone() partCopy.CanCollide = false partCopy.CastShadow = false partCopy.Color = Color3.fromRGB(0, 130, 255) partCopy.Material = Enum.Material.Neon partCopy.Transparency = 0.45 partCopy.Parent = cloneModel local relativeCFrame = char.HumanoidRootPart.CFrame:ToObjectSpace(item.CFrame) partCopy.CFrame = rootOrigin:ToWorldSpace(relativeCFrame) partCopy.Anchored = true for _, subItem in pairs(partCopy:GetChildren()) do if not subItem:IsA("SpecialMesh") and not subItem:IsA("BlockMesh") and not subItem:IsA("CylinderMesh") then subItem:Destroy() end end task.delay(2.2, function() if partCopy then local fadeTween = TweenService:Create(partCopy, TweenInfo.new(0.8, Enum.EasingStyle.Linear), {Transparency = 1}) fadeTween:Play() end end) end end task.delay(3.0, function() cloneModel:Destroy() end) end local function manageAudio(state) local character = LocalPlayer.Character local rootPart = character and character:FindFirstChild("HumanoidRootPart") if not rootPart then return end if state == "PLAY" then if not audioTrack or audioTrack.Parent ~= rootPart then if audioTrack then audioTrack:Destroy() end audioTrack = Instance.new("Sound") audioTrack.Name = "NaoyaTheme" audioTrack.SoundId = "rbxassetid://9046863110" -- Defeat Here - Jujutsu Kaisen Track ID audioTrack.Volume = 2.5 audioTrack.Looped = true audioTrack.Parent = rootPart end audioTrack.Volume = 2.5 if not audioTrack.IsPlaying then audioTrack:Play() end elseif state == "FADE" then if audioTrack and audioTrack.IsPlaying then local fadeTween = TweenService:Create(audioTrack, TweenInfo.new(1.5, Enum.EasingStyle.Linear), {Volume = 0}) fadeTween:Play() task.delay(1.5, function() if audioTrack and audioTrack.Volume == 0 then audioTrack:Stop() end end) end end end local function manageTrail(state) local character = LocalPlayer.Character local rootPart = character and character:FindFirstChild("HumanoidRootPart") if not rootPart then return end if state == "ENABLE" then if not movementTrail or movementTrail.Parent ~= character then att1 = Instance.new("Attachment") att1.Name = "NaoyaTrailAttachment1" att1.Position = Vector3.new(0, 2, 0) att1.Parent = rootPart att2 = Instance.new("Attachment") att2.Name = "NaoyaTrailAttachment2" att2.Position = Vector3.new(0, -2, 0) att2.Parent = rootPart movementTrail = Instance.new("Trail") movementTrail.Name = "NaoyaSpeedTrail" movementTrail.Attachment0 = att1 movementTrail.Attachment1 = att2 movementTrail.FaceCamera = true movementTrail.Lifetime = 0.45 movementTrail.Color = ColorSequence.new(Color3.fromRGB(0, 180, 255)) movementTrail.Transparency = NumberSequence.new({ NumberSequenceKeypoint.new(0, 0.1), NumberSequenceKeypoint.new(1, 1) }) movementTrail.Parent = character end movementTrail.Enabled = true elseif state == "DISABLE" then if movementTrail then movementTrail.Enabled = false end end end local function updateOutline() local character = LocalPlayer.Character if isActive and character then if not speedHighlight or speedHighlight.Parent ~= character then if speedHighlight then speedHighlight:Destroy() end speedHighlight = Instance.new("Highlight") speedHighlight.Name = "NaoyaRunOutline" speedHighlight.OutlineColor = Color3.fromRGB(0, 180, 255) speedHighlight.OutlineTransparency = 0.1 speedHighlight.FillColor = Color3.fromRGB(0, 100, 255) speedHighlight.FillTransparency = 0.85 speedHighlight.Adornee = character speedHighlight.Parent = character end else if speedHighlight then speedHighlight:Destroy() speedHighlight = nil end end end local function toggleState() if isLockedOut and not isActive then return end isActive = not isActive if isActive then ToggleButton.Text = "On" ToggleButton.TextColor3 = Color3.fromRGB(75, 255, 75) ToggleButton.BorderColor3 = Color3.fromRGB(75, 255, 75) manageAudio("PLAY") manageTrail("ENABLE") cloneTimer = 0 else isActive = false ToggleButton.Text = "Off" ToggleButton.TextColor3 = Color3.fromRGB(255, 75, 75) ToggleButton.BorderColor3 = Color3.fromRGB(255, 50, 50) currentMultiplier = 1.0 speedTimer = 0 manageAudio("FADE") manageTrail("DISABLE") end updateOutline() end ToggleButton.MouseButton1Click:Connect(toggleState) LocalPlayer.CharacterAdded:Connect(function() task.wait(0.5) if isActive then updateOutline() manageAudio("PLAY") manageTrail("ENABLE") end end) -- Balanced Heartbeat Teleportation Loop RunService.Heartbeat:Connect(function(deltaTime) local character = LocalPlayer.Character local humanoid = character and character:FindFirstChildOfClass("Humanoid") local rootPart = character and character:FindFirstChild("HumanoidRootPart") if not humanoid or not rootPart or humanoid.Health <= 0 then if isActive then toggleState() end return end if isActive then if stamina > 0 then speedTimer = speedTimer + deltaTime cloneTimer = cloneTimer + deltaTime if speedTimer >= 3.5 then currentMultiplier = math.clamp(currentMultiplier * 1.5, 1.0, 5.2) speedTimer = 0 end -- Consumes stamina perfectly balanced to match the Defeat Here timeline (Drains over ~120s) stamina = math.clamp(stamina - (0.83 * deltaTime), 0, maxStamina) if humanoid.MoveDirection.Magnitude > 0 then local positionOffset = humanoid.MoveDirection * (currentMultiplier * 16 * deltaTime) rootPart.CFrame = rootPart.CFrame + positionOffset if movementTrail then movementTrail.Enabled = true end -- Drops an animation matching clone exactly every 0.35 seconds if cloneTimer >= 0.35 then createProjectionClone(character) cloneTimer = 0 end else if movementTrail then movementTrail.Enabled = false end end else toggleState() isLockedOut = true ToggleButton.Text = "RECHARGING..." ToggleButton.TextColor3 = Color3.fromRGB(255, 140, 0) ToggleButton.BorderColor3 = Color3.fromRGB(255, 140, 0) end else -- Heals as much as it lasts (Set to match the slow 0.83 active depletion rate exactly) stamina = math.clamp(stamina + (0.83 * deltaTime), 0, maxStamina) if isLockedOut and stamina >= maxStamina then isLockedOut = false ToggleButton.Text = "Off" ToggleButton.TextColor3 = Color3.fromRGB(255, 75, 75) ToggleButton.BorderColor3 = Color3.fromRGB(255, 50, 50) end end -- Rendering text updates SpeedDisplay.Text = "VELOCITY BOOSTER: +" .. string.format("%.1f", (currentMultiplier * 10)) TweenService:Create(StaminaBar, TweenInfo.new(0.05, Enum.EasingStyle.Linear), {Size = UDim2.new(stamina / maxStamina, 0, 1, 0)}):Play() end)